﻿
namespace SistemaLogistica.Business.Logic
{
    using System;
    using System.Collections.Generic;
    using SistemaLogistica.Business.Entities;
    using SistemaLogistica.DataAccess;

    public class AsignacionManager
    {
        private AsignacionManager() { }

        private static readonly AsignacionManager instancia = new AsignacionManager();

        public static AsignacionManager Instancia
        {
            get { return instancia; }
        }

        public List<Asignacion> ListarPorTipo(int tipo)
        {
            try
            {
                return AsignacionData.Instancia.ListarPorTipo(tipo);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public List<Asignacion> Buscar(DateTime desde, DateTime hasta, int tipo)
        {
            try
            {
                return AsignacionData.Instancia.Buscar(desde, hasta, tipo);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public Asignacion ObtenerPorID(int idAsignacion)
        {
            try
            {
                return AsignacionData.Instancia.ObtenerPorID(idAsignacion);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void Registrar(Asignacion asignacion)
        {
            try
            {
                AsignacionData.Instancia.Registrar(asignacion);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void Actualizar(Asignacion asignacion)
        {
            try
            {
                AsignacionData.Instancia.Actualizar(asignacion);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void Eliminar(int idAsignacion)
        {
            try
            {
                AsignacionData.Instancia.Eliminar(idAsignacion);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
}
